// 乱序array. 原地打乱。需要注意会覆盖传入的数组
export function randomArray(array = []) {
	// 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0
	return array.sort(() => Math.random() - 0.5);
}

// 判断arr是否为一个数组，返回一个bool值
export function isArray (arr) {
    return Object.prototype.toString.call(arr) === '[object Array]';
}

// 使用reduce对数组去重
export function reduceArray(arr=[], key=null) {
	if (key) {
		const obj = {}
		return arr.reduce((cur,next) => {
		    obj[next[key]] ? "" : obj[next[key]] = true && cur.push(next)
		    return cur
		},[])
	} else {
		return [...(new Set(arr))]
	}
}